#include <stdio.h>

int main() {
    // 打开模式
    // r  以只读的方式打开文件 (不创建文件, 若文件不存在就报错)
    // w  以只写的方式打开文件 (文件不存在就创建文件, 如果文件存在就清空文件内容)
    // b  以二进制的文本类型读或写文件
    // r+ 以可读、可写的方式打开文件 (不创建新文件)
    // w+ 以可读、可写的方式打开文件 (文件不存在就创建文件, 如果文件存在就清空文件内容)
    // a+ 以文本添加的方式打开文件 (打开文件并在末尾追加文件, 若文件不存在就创建文件)
    FILE *wfp_01 = fopen("./a.txt", "a+");

    // fprintf: 按照指定的格式组包, 然后将组好包的字符串储藏到文件中
    fprintf(wfp_01, "%04d-%02d-%02d\n", 2023, 2, 4);

    // fprintf 等效于下面两行代码

    // sprintf(buffer, "%04d-%02d-%02d\n", 2023, 1, 11);
    // fputs(buffer, rfp);

    FILE *rfp_01 = fopen("./a.txt", "r");

    // fscanf 按照指定的格式从文件中拆包
    int year;
    int month;
    int day;
    fscanf(rfp_01, "%04d-%02d-%02d", &year, &month, &day);
    printf("year = %d\n", year);
    printf("month = %d\n", month);
    printf("day = %d\n", day);

    // 打开的文件资源在使用完成之后就要关闭
    fclose(wfp_01);
    fclose(rfp_01);

    return 0;
}